# -*- coding: UTF-8 -*- #
"""
-------真正的勇士， 敢于直面惨淡的Warning、 敢于正视淋漓的Error-----
@author : 贾鹏博
@file : 2、Appium架构介绍与环境安装.py
@time : 2022/5/19 14:27
"""

"""
目前 mobile 自动化解决方案 ： 
    ios  和  Android(开源)  Appium 既支持 ios ，又支持 appium
    

appium 框架介绍：
    Appium 是一个移动端的自动化测试框架，可用于测试原生应用，移动网页应用（手机打开的网页）和 混合应用，且是跨平台的。
    可用于 IOS 和 Android 操作系统，原生应用是指用 android 和 ios 编写的应用，移动网页应用是指网页应用。
    类似于 ios 中 safari 应用或者 Chrome 应用或者类似浏览器的应用。混合应用是指一种包裹 webview 的应用。
    原生应用网页内容交互性的应用。
    重要的是 Appium 是跨平台的，何为跨平台，意思是可以针对不同平台用一套 api 来编写脚本。
    
appium 介绍：  
    WebDriver script(测试脚本)  ->  appium (appium server：工具:Android、ios) ->   手机端

appium 生态工具：
    adb : android 的控制工具，用于获取 android 的各种数据和控制
    Appium Desktop : 内嵌了 appium server 和 inspector（定位元素） 的综合工具
    Appium Server : appium 的核心工具，命令行工具
    Appium client : 各种语言的客户端封装库，用于连接 appium server
        python  java  ruby  robotframework-appium
    AppCrawler 自动遍历工具
    

appinum 环境安装   软件下载地址：https://ceshiren.com/t/topic/2270
    Java 1.8 版本   https://pan.baidu.com/s/1VtEXIogo_GS7iGh3f0nklw  提取码：gxow
    Android SDK    https://pan.baidu.com/s/1VtEXIogo_GS7iGh3f0nklw#list/path=%2F    检验是否安装成功 ： cmd ->  adb + 回车
    Appium Desktop   https://github.com/appium/appium-desktop/releases
    Python3
    Appium python client      pip install appium-python-client
 
    
adb 连接 mumu 模拟器：
     1、adb connect 127.0.0.1:7555
     2、adb devices

"""

from appium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'emulator-5554'
# com.android.settings/com.android.settings.Settings
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = 'com.android.settings.Settings'

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 结果 : 启动【设置】应用
print("启动【设置】应用")
driver.quit()
